home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / pubdom.tar / pubdom / e_vogel / temps.doc < prev    next >
Text File  |  1990-05-21  |  10KB  |  287 lines

  1.        TEMPERATURE ADDITION AND SUBTRACTION PROGRAMS FOR ENGINEERING USE
  2.  
  3.  
  4.  
  5. Physical laws involving temperature units are generally derived using absolute 
  6. temperature units (Kelvin and Rankine). These temperature units can be 
  7. manipulated like any other physical units (they have multiplicative conversion 
  8. factors), and obey the standard rules of arithmetic. However, it is common in 
  9. engineering to express temperatures in what we might call "thermometer" units, 
  10. i.e., degrees Celsius and degrees Fahrenheit. These units, because of the 
  11. additive constants included in their definitions, do not obey arithmetic rules.
  12.  
  13. Standard engineering practice interprets these thermometer temperatures in one 
  14. of two ways: as a point on a temperature scale (i.e., 20 degrees Fahrenheit),
  15. or as a temperature increment along a scale (i.e., 20 Fahrenheit degrees). The 
  16. specific interpretation depends on the context of the operation being 
  17. performed. Adding a temperature increment to a point on a temperature scale 
  18. yields a new point on the scale; subtracting two points on a temperature scale 
  19. yields a temperature increment. While temperature points have an additive 
  20. relationship (1.8 times a point on the Celsius scale, plus 32 gives a point on 
  21. the Fahrenheit scale), temperature increments have a multiplicative 
  22. relationship (a Fahrenheit degree is 1.8 times a Celsius degree).
  23.  
  24. Thermometer units do not fit well within the HP 48 unit management system, 
  25. which is designed for units with purely multiplicative conversion factors and 
  26. which satisfy arithmetic rules. To partially accomodate thermometer units, the
  27. 48 does the following:
  28.  
  29.   When CONVERT is applied to a "pure temperature" (a unit object whose unit 
  30.   part is one of the four temperature units), the conversion accounts for the 
  31.   additive constants. This allows CONVERT, including the automatic CONVERT 
  32.   built into the TEMP menu keys, to be used for simple temperature conversions.
  33.  
  34.   Multiplying or dividing pure temperatures treats thermometer units as 
  35.   absolute units. This extends to addition and subtraction of any compound 
  36.   units that include temperature units.
  37.  
  38.   When adding or subtracting (and numerical =) two pure temperatures, the 48 
  39.   has no way to make a context-sensitive interpretation of a point versus an 
  40.   increment -- the temperatures are always treated as points on a scale. Both 
  41.   arguments are converted to absolute temperature units before the addition or 
  42.   subtraction occurs, and the result is converted to the units of the second 
  43.   argument (level 1). While this scheme ensures that addition and subtraction 
  44.   are commutative, it means that computing with temperature increments in 
  45.   thermometer units will generally not give directly usable results.
  46.  
  47. These conventions mean that many common engineering formulas written in terms 
  48. of thermometer units can not be used directly on the HP 48. There are two 
  49. alternatives to adapt such equations:
  50.  
  51.   1.  Use absolute temperature units only.
  52.  
  53.   2.  Substitute alternate functions for arithmetic operators.
  54.  
  55. This document describes two user programs that support the second approach: 
  56. INCT, which adds an increment to a point on a temperature scale, and DELTAT, 
  57. which subtracts two points on a temperature scale (equivalent to TINC and 
  58. TDELTA in the HP 82211A HP Solve Equation Library Application Card). Here are 
  59. the specific situations in which INCT and DELTAT can be used:
  60.  
  61.   1. Add a temperature increment to a point on a temperature scale 
  62.      Result: new point on a temperature scale
  63.   
  64.   2. Subtract a temperature increment from a point on a temperature scale 
  65.      Result: new point on a temperature scale
  66.   
  67.   3. Subtract two points on a temperature scale from each other
  68.      Result: temperature increment
  69.   
  70.   4. Add two temperature increments together
  71.      Result: temperature increment
  72.   
  73.   5. Subtract two temperature increments from each other
  74.      Result: temperature increment
  75.  
  76. Here are sample keystrokes for the above situations:
  77.  
  78.  
  79.              Operation                Keystrokes                Result
  80.       -----------------------------------------------------------------
  81.       1.  temppt1+tempinc     temppt1 ENTER tempinc INCT        temppt2
  82.       2.  temppt1-tempinc     temppt1 ENTER tempinc CHS INCT    temppt2
  83.       3.  temppt2-temppt1     temppt2 ENTER temppt1 DELTAT      tempinc
  84.       4.  tempinc1+tempinc2   tempinc1 ENTER tempinc2 INCT      tempinc
  85.       5.  tempinc2-tempinc1   tempinc2 ENTER tempinc1 CHS INCT  tempinc
  86.  
  87.  
  88. INCT and DELTAT expect two unit objects containing only pure temperatures, but 
  89. will also calculate + and - for real numbers. If you want them to error on all 
  90. argument types other than these, call VFTOBJ or VFTERR as shown in the program 
  91. comments (this will double execution time). INCT and DELTAT can also be used 
  92. in algebraics (i.e., 'DELTAT(Tfinal,Tinitial)'). 
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. Terminology:
  124.  
  125. N(unit_obj):                  the numeric part of the unit_obj
  126. U(unit_obj):                  the unit part of the unit_obj
  127. temppt1, temppt1', temppt2:   points on a temperature scale
  128. tempinc1, tempinc2:           temperature increments
  129.  
  130. INCT   Adds a point on a temperature scale to a temperature increment.
  131.        To subtract a temperature increment from a point on a temperature scale,
  132.        negate the increment and use INCT to add.
  133.  
  134. 2: temppt1
  135. 1: tempinc                 -->           1: temppt2
  136.  
  137. Algorithm:
  138.  
  139. IF 
  140.   tempinc and temppt1 are on the same absolute temperature scales
  141.   (i.e., combinations of F and F, F and R, C and C, or C and K)
  142. THEN
  143.   temppt2 has value N(temppt1) + N(tempinc)
  144.           and units U(temppt1) (note the level 2 units)
  145.  
  146. IF 
  147.   tempinc and temppt1 are NOT on the same absolute temperature scales
  148.   (i.e., combinations of F and C, F and K, R and C, or R and K)
  149. THEN
  150.   temppt2 has value N(temppt1) + N(tempinc)*scalefactor
  151.           and units U(temppt1)
  152.   where scalefactor is 1.8 if temppt1 is F or R 
  153.                     or 1/1.8 if temppt1 is C or K 
  154.  
  155. Examples:
  156.  
  157. a. 2: 400_R      
  158.    1: 40_F                 -->           1: 440_R
  159.  
  160. b. 2: 40_F       
  161.    1: 400_R                -->           1: 440_F (= 900_R)
  162.  
  163. c. 2: 40_F      
  164.    1: 10_C                 -->           1: 58_F (40_F + 10 * 1.8)
  165.  
  166. d. 2: 10_C      
  167.    1: 40_F                 -->           1: 32.2_C (= 90_F)
  168.                                                    (10_C + 40 * 1/1.8)
  169.  
  170. DELTAT  Subtracts two points on a temperature scale, yielding a 
  171.         temperature increment.
  172.  
  173. 2: temppt2
  174. 1: temppt1                 -->           1: tempinc
  175.  
  176. Algorithm:
  177.  
  178.   temppt1 is converted to temppt1' with units of temppt2
  179.   tempinc has value N(temppt2) - N(temppt1')
  180.           and units U(temppt2) (note the level 2 units)
  181.  
  182.  
  183. Examples:
  184.  
  185. a. 2: 400_R      
  186.    1: 40_F (500_R)         -->           1: -100_R
  187.  
  188. b. 2: 40_F       
  189.    1: 400_R (-60_F)        -->           1: 100_F (= 560_R)
  190.  
  191. c. 2: 40_F      
  192.    1: 10_C  (50_F)         -->           1: -10_F (40_F - 50_F)
  193.  
  194. d. 2: 10_C      
  195.    1: 40_F (4.4_C)         -->           1: 5.6_C (= 42_F) (10_C - 4.4_C)
  196.  
  197. To emphasize the differences between the different addition and subtraction 
  198. operations, here is a series of examples that illustrates these with units 
  199. on the same and different temperature scales.
  200.  
  201.  
  202. Addition Operations, Same Temperature Scales
  203.  
  204. 40_F 10_F +                -->   510_F
  205. 10_F 40_F +                -->   510_F
  206. 40_F 10_F INCT             -->    50_F 
  207. 10_F 40_F INCT             -->    50_F
  208. 40_F 10_F CHS DELTAT       -->    50_F 
  209. 10_F 40_F CHS DELTAT       -->    50_F
  210.  
  211.  
  212. Addition Operations, Different Temperature Scales
  213.  
  214. 40_F 10_C +                -->   288_C
  215. 10_C 40_F +                -->   550_F (= 288_C)
  216. 40_F 10_C INCT             -->    58_F 
  217. 10_C 40_F INCT             -->    32_C (= 90_F)
  218. 40_F 10_C CHS DELTAT       -->    26_F 
  219. 10_C 40_F CHS DELTAT       -->    50_C (= 122_F)
  220.  
  221.  
  222. Subtraction Operations, Same Temperature Scales
  223.  
  224. 40_F 10_F -                -->  -430_F
  225. 10_F 40_F -                -->  -490_F
  226. 40_F 10_F CHS INCT         -->    30_F 
  227. 10_F 40_F CHS INCT         -->   -30_F
  228. 40_F 10_F DELTAT           -->    30_F 
  229. 10_F 40_F DELTAT           -->   -30_F
  230.  
  231.  
  232. Subtraction Operations, Different Temperature Scales
  233.  
  234. 40_F 10_C -                -->  -279_C
  235. 10_C 40_F -                -->  -450_F (= -268_C)
  236. 40_F 10_C CHS INCT         -->    22_F 
  237. 10_C 40_F CHS INCT         -->   -12_C (= 10_F)
  238. 40_F 10_C DELTAT           -->   -10_F 
  239. 10_C 40_F DELTAT           -->     6_C (= 42_F)
  240.  
  241.  
  242.  
  243. The behavior is unexpected with identical temperatures, such as -40_F and 
  244. -40_C. This is especially true when one temperature is zero, as shown below:
  245.  
  246.  
  247. Addition Operations, Same Temperature Scales
  248.  
  249. 32_F 32_F +                -->   524_F
  250. 32_F 32_F INCT             -->    64_F 
  251. 32_F 32_F CHS DELTAT       -->    64_F 
  252.  
  253.  0_C  0_C +                -->   273_C
  254.  0_C  0_C INCT             -->     0_C 
  255.  0_C  0_C DELTAT           -->     0_C 
  256.  
  257.  
  258. Addition Operations, Different Temperature Scales
  259.  
  260. 32_F  0_C +                -->   273_C
  261.  0_C 32_F +                -->   524_F (= 273_C)
  262. 32_F  0_C INCT             -->    32_F 
  263.  0_C 32_F INCT             -->    18_C (= 64_F)
  264. 32_F  0_C DELTAT           -->     0_F 
  265.  0_C 32_F CHS DELTAT       -->    36_C (= 97_F)
  266.  
  267.  
  268. Subtraction Operations, Same Temperature Scales
  269.  
  270. 32_F 32_F -                -->  -460_F
  271. 32_F 32_F CHS INCT         -->     0_F 
  272. 32_F 32_F DELTAT           -->     0_F
  273.  
  274.  0_C  0_C -                -->  -273_C
  275.  0_C  0_C INCT             -->     0_C 
  276.  0_C  0_C DELTAT           -->     0_C 
  277.  
  278.  
  279. Subtraction Operations, Different Temperature Scales
  280.  
  281. 32_F  0_C -                -->  -273_C
  282.  0_C 32_F -                -->  -460_F (= -273_C)
  283. 32_F  0_C INCT             -->    32_F 
  284.  0_C 32_F CHS INCT         -->   -18_C (= 0_F)
  285. 32_F  0_C DELTAT           -->     0_F 
  286.  0_C 32_F DELTAT           -->     0_C (= 32_F)
  287.